home *** CD-ROM | disk | FTP | other *** search
/ Enter 2006 February / enter-2006-02.iso / files / easy2do_setup.exe / {app} / docs / skin / breadcrumbs-optimized.js < prev    next >
Encoding:
JavaScript  |  2005-10-09  |  2.7 KB  |  90 lines

  1. /*
  2. * Copyright 2002-2004 The Apache Software Foundation
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. *     http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. var PREPREND_CRUMBS=new Array();
  17. var link1="@skinconfig.trail.link1.name@";
  18. var link2="@skinconfig.trail.link2.name@";
  19. var link3="@skinconfig.trail.link3.name@";
  20. if(!(link1=="")&&!link1.indexOf( "@" ) == 0){
  21.   PREPREND_CRUMBS.push( new Array( link1, @skinconfig.trail.link1.href@ ) ); }
  22. if(!(link2=="")&&!link2.indexOf( "@" ) == 0){
  23.   PREPREND_CRUMBS.push( new Array( link2, @skinconfig.trail.link2.href@ ) ); }
  24. if(!(link3=="")&&!link3.indexOf( "@" ) == 0){
  25.   PREPREND_CRUMBS.push( new Array( link3, @skinconfig.trail.link3.href@ ) ); }
  26. var DISPLAY_SEPARATOR=" > ";
  27. var DISPLAY_PREPREND=" > ";
  28. var DISPLAY_POSTPREND=":";
  29. var CSS_CLASS_CRUMB="breadcrumb";
  30. var CSS_CLASS_TRAIL="breadcrumbTrail";
  31. var CSS_CLASS_SEPARATOR="crumbSeparator";
  32. var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  33. var PATH_SEPARATOR="/";
  34.  
  35. function sc(s) {
  36.     var l=s.toLowerCase();
  37.     return l.substr(0,1).toUpperCase()+l.substr(1);
  38. }
  39. function getdirs() {
  40.     var t=document.location.pathname.split(PATH_SEPARATOR);
  41.     var lc=t[t.length-1];
  42.     for(var i=0;i < FILE_EXTENSIONS.length;i++)
  43.     {
  44.         if(lc.indexOf(FILE_EXTENSIONS[i]))
  45.             return t.slice(1,t.length-1); }
  46.     return t.slice(1,t.length);
  47. }
  48. function getcrumbs( d )
  49. {
  50.     var pre = "/";
  51.     var post = "/";
  52.     var c = new Array();
  53.     if( d != null )
  54.     {
  55.         for(var i=0;i < d.length;i++) {
  56.             pre+=d[i]+postfix;
  57.             c.push(new Array(d[i],pre)); }
  58.     }
  59.     if(PREPREND_CRUMBS.length > 0 )
  60.         return PREPREND_CRUMBS.concat( c );
  61.     return c;
  62. }
  63. function gettrail( c )
  64. {
  65.     var h=DISPLAY_PREPREND;
  66.     for(var i=0;i < c.length;i++)
  67.     {
  68.         h+='<a href="'+c[i][1]+'" >'+sc(c[i][0])+'</a>';
  69.         if(i!=(c.length-1))
  70.             h+=DISPLAY_SEPARATOR; }
  71.     return h+DISPLAY_POSTPREND;
  72. }
  73.  
  74. function gettrailXHTML( c )
  75. {
  76.     var h='<span class="'+CSS_CLASS_TRAIL+'">'+DISPLAY_PREPREND;
  77.     for(var i=0;i < c.length;i++)
  78.     {
  79.         h+='<a href="'+c[i][1]+'" class="'+CSS_CLASS_CRUMB+'">'+sc(c[i][0])+'</a>';
  80.         if(i!=(c.length-1))
  81.             h+='<span class="'+CSS_CLASS_SEPARATOR+'">'+DISPLAY_SEPARATOR+'</span>'; }
  82.     return h+DISPLAY_POSTPREND+'</span>';
  83. }
  84.  
  85. if(document.location.href.toLowerCase().indexOf("http://")==-1)
  86.     document.write(gettrail(getcrumbs()));
  87. else
  88.     document.write(gettrail(getcrumbs(getdirs())));
  89.  
  90.